package com.zhiyou100.util.random;

import java.util.Date;

/**
 * @author yang
 * @packageName MyRandomNumber
 * @className com.zhiyou100.tools.random
 * @Description TODO 随机数类
 * @date 7/28/20
 */
public class MyRandomNumber {

    final static long TIME = System.currentTimeMillis();

    /**
     * @return int
     * @Description TODO 随机数 [min,max]
     * @name randomOfMinToMax
     * @param: [min, max]
     * @date 7/28/20 17:43
     * @author yang
     */
    public static int randomOfMinToMax(double min, double max) {
        return (int) (min + (int) (Math.random() * (max - min + 1)));
    }

    /**
     * @return int
     * @Description TODO 随机函数 范围 [min,max]
     * @name randomOfMinToMax
     * @param: [min, max]
     * @date 8/2/20 15:54
     * @author yang
     */
    public static int randomOfMinToMax(int min, int max) {
        return (int) (min + (int) (Math.random() * (max - min + 1)));
    }

    /**
     * @Description TODO long 类型 的 random
     * @name randomOfMinToMaxByLong
     * @param: [min, max]
     * @return java.lang.Long
     * @date 8/2/20 16:22
     * @author yang
     */
    public static Long randomOfMinToMaxByLong(Long min, Long max) {
        return (Long) (min + (long) (Math.random() * (max - min + 1)));
    }

    /**
     * @Description TODO 从 0 到 现在随机一个日期
     * @name randomOneDate
     * @param: []
     * @return java.util.Date
     * @date 8/2/20 16:23
     * @author yang
     */
    public static Date randomOneDate() {
        Long time = randomOfMinToMaxByLong(1L, TIME);
        return  new Date(time);
    }
}
